package com.eoekun.dashboard.model;

/**
 * 结果代码枚举
 * 
 * @ClassName: ResultCode
 * @author chenkun
 * @date 2016年11月23日 上午11:19:59
 */
public enum ResultCode {
	/**
	 * 0,操作成功
	 */
	SUCCESS("0", "操作成功"),
	/**
	 * 10000000,系统异常
	 */
	SYS_EXCEPTION("10000000", "系统异常"),
	/**
	 * 10000001,系统参数异常
	 */
	SYS_PARAM_EXCEPTION("10000001", "系统参数异常"),
	/**
	 * 10000002,系统缓存异常
	 */
	SYS_CACHE_EXCEPTION("10000002", "系统缓存异常"),
	/**
	 * 10000003,缓存保存异常
	 */
	CACHE_SAVE_EXCEPTION("10000003", "缓存保存异常"),
	/**
	 * 10000004,缓存查询异常
	 */
	CACHE_QUERY_EXCEPTION("10000004", "缓存查询异常"),
	/**
	 * 10000005,缓存删除异常
	 */
	CACHE_DELETE_EXCEPTION("10000005", "缓存删除异常"),
	/**
	 * 10000006,缓存重载异常
	 */
	CACHE_RELOAD_EXCEPTION("10000006", "缓存重载异常"),
	/**
	 * 10000007,消息消费异常
	 */
	MQ_CONSUME_EXCEPTION("10000007", "消息消费异常"),
	/**
	 * 20000000,数据库异常
	 */
	DB_EXCEPTION("20000000", "数据库异常"),
	/**
	 * 20000001,数据库添加失败
	 */
	DB_ADD_FAIL("20000001", "数据库添加失败"),
	/**
	 * 20000002,数据库更新失败
	 */
	DB_UPDATE_FAIL("20000002", "数据库更新失败"),
	/**
	 * 20000003,数据库查询失败
	 */
	DB_QUERY_FAIL("20000003", "数据库查询失败"),
	/**
	 * 20000004,数据不存在
	 */
	DATA_NOT_EXIST("20000004", "数据不存在"),
	/**
	 * 20000005,数据不合法
	 */
	DATA_NOT_VALID("20000005", "数据不合法"),
	/**
	 * 20000006,数据重复
	 */
	DATA_REPEAT("20000006", "数据重复"),
	/**
	 * 30000000,参数非法
	 */
	PARAM_NOT_VALID("30000000", "参数非法"),
	/**
	 * 30000001,参数不能为空
	 */
	PARAM_NOT_EMPTY("30000001", "参数不能为空"),
	/**
	 * 30000002,参数未配置
	 */
	PARAM_NOT_CONFIG("30000002", "参数未配置"),
	/**
	 * 30000003,参数长度非法
	 */
	PARAM_LENTH_NOT_VALID("30000003", "参数长度非法"),
	/**
	 * 30000004,参数未配置
	 */
	PARAM_TOO_LONG("30000004", "参数过长"),
	/**
	 * 40000000,操作失败
	 */
	OPERATION_FAIL("40000000", "操作失败"),
	/**
	 * 40000001,不支持的操作
	 */
	NOT_SUPPORT_OPERATION("40000001", "不支持的操作"),
	/**
	 * 40000001,无权限访问
	 */
	UNAUTHORIZED("40000001", "无权限访问"),
	/**
	 * 50000000,接口调用异常
	 */
	INTERFACE_CALL_EXCEPTION("50000000", "接口调用异常"),
	/**
	 * 50000001,接口调用异常
	 */
	DUBBO_CALL_EXCEPTION("50000001", "dubbo服务调用异常"),
	/**
	 * 50000002,接口调用失败
	 */
	DUBBO_CALL_FAIL("50000002", "接口调用失败"),
	
	/**
	 * 60000000,业务未配置
	 */
	BUSINESS_NOT_CONFIG("60000000", "业务未配置"),
	/**
	 * 60000001,业务未实现
	 */
	BUSINESS_NOT_COMPLETE("60000001", "业务未实现"),
	/**
	 * 60000002,文件不存在
	 */
	FILE_NOT_EXISTS("60000002", "文件不存在"),
	/**
	 * 60000003,业务未调用
	 */
	BUSINESS_NOT_CALL("60000003", "业务未调用"),
	/**
	 * 60000004,业务已移除
	 */
	BUSINESS_REMOVED("60000004", "业务已移除"),
	
	;
	private String code;
	private String msg;

	ResultCode(String code, String msg) {
		this.code = code;
		this.msg = msg;
	}

	public String getCode() {
		return code;
	}

	public String getMsg() {
		return msg;
	}

	@Override
	public String toString() {
		return String.format("[%s]%s", this.code, this.msg);
	}
}
